package net.hn.hnms.biz.project.request;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * @TableName standing_book_manage
 */

@Data
public class StandingBookManageReq extends BaseReq implements Serializable {
    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
    /**
     * id
     */
    @ApiModelProperty(value = "文件集合")
    private String id;
    /**
     * 单位名称
     */
    @ApiModelProperty(value = "单位名称")
    private String companyName;
    /**
     * 工程项目
     */
    @ApiModelProperty(value = "工程项目")
    private String engineeringProject;
    /**
     * 招标形式
     */
    @ApiModelProperty(value = "招标形式")
    private String biddingDocument;
    /**
     * 安全生产许可证
     */
    @ApiModelProperty(value = "安全生产许可证")
    private String productionLicence;
    /**
     * 营业执照有效期
     */
    @ApiModelProperty(value = "营业执照有效期")
    private String takinglicenseTime;
    /**
     * 企业资质证书
     */
    @ApiModelProperty(value = "企业资质证书")
    private String qualificationCertificate;
    /**
     * 施工合同编号
     */
    @ApiModelProperty(value = "施工合同编号")
    private String constructionContractNum;
    /**
     * 施工合同签订日期
     */
    @ApiModelProperty(value = "施工合同签订日期")
    private String constructionContractTime;
    /**
     * 安全管理签订日期
     */
    @ApiModelProperty(value = "安全管理签订日期")
    private String safetyManagementTime;
    /**
     * 管理机构设置
     */
    @ApiModelProperty(value = "管理机构设置")
    private String regulatoryAgency;
    /**
     * 管理人员任命文件下发日期
     */
    @ApiModelProperty(value = "管理人员任命文件下发日期")
    private String appointmentDate;
    /**
     * 管理人员资质
     */
    @ApiModelProperty(value = "管理人员资质")
    private String certification;
    /**
     * 作业人员配备
     */
    @ApiModelProperty(value = "作业人员配备")
    private String personnelAllocation;
    /**
     * 作业人员持证情况
     */
    @ApiModelProperty(value = "作业人员持证情况")
    private String personnelCertificate;
    /**
     * 三措两案报备情况
     */
    @ApiModelProperty(value = "三措两案报备情况")
    private String reportStatus;
    /**
     * 安全管理制度及操作规程
     */
    @ApiModelProperty(value = "安全管理制度及操作规程")
    private String safetySystem;
    /**
     * 人员入场培训情况
     */
    @ApiModelProperty(value = "人员入场培训情况")
    private String trainingSituation;
    /**
     * 人员合同签订情况
     */
    @ApiModelProperty(value = "人员合同签订情况")
    private String staffContracts;
    /**
     * 人员意外保险缴纳情况
     */
    @ApiModelProperty(value = "人员意外保险缴纳情况")
    private String accidentInsurance;
    /**
     * 人员职业病体检情况
     */
    @ApiModelProperty(value = "人员职业病体检情况")
    private String occupationalDisease;
    /**
     * 开工验收情况
     */
    @ApiModelProperty(value = "开工验收情况")
    private String inspectionReport;
    /**
     * 开工时间
     */
    @ApiModelProperty(value = "开工时间")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date onstreamTime;
    @ApiModelProperty(value = "结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date endTime;
    /**
     * 施工地点
     */
    @ApiModelProperty(value = "施工地点")
    private String jobLocation;
    /**
     * 报备业务部门
     */
    @ApiModelProperty(value = "报备业务部门")
    private String departmentOfReporting;
    /**
     * 矿编码
     */
    @ApiModelProperty(value = "矿编码")
    private String mineCode;
    @ApiModelProperty(value = "所属单位")
    private String belongUnit;
    /**
     * 1.未启动（Not Started）：项目尚未开始，尚未分配资源和计划。
     * <p>
     * 2.进行中（In Progress）：项目正在进行中，已经开始执行。
     * <p>
     * 3.暂停（On Hold）：项目暂时停止，可能由于某些原因需要延迟或终止。
     * <p>
     * 4.完成（Completed）：项目已成功完成所有任务和交付物。
     */
    @ApiModelProperty(value = "项目状态")
    private String projectStatus;
    @ApiModelProperty(value = "文件集合")
    private List<StandingFileReq> standingFile;
    @ApiModelProperty("业务主管")
    private String businessSupervisor;
    @ApiModelProperty("调度室人员")
    private String dispatchingRoom;
    @ApiModelProperty("安全检查")
    private String safetyInspection;
    @ApiModelProperty("分管副总")
    private String vicePresident;
    @ApiModelProperty("分管矿领导")
    private String viceCoalLeader;
    @ApiModelProperty("批准矿领导")
    private String ratifyCoalLeader;
    @ApiModelProperty("北能调度室")
    private String companyDispatchingRoom;

    @ApiModelProperty("报备级别")
    private String reportingLevel;
}